package com.miplus.ccrm.report.controller.vo.evt;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class CtiCallEvtVo {
    /**
     * 呼叫唯一ID
     */
    @NotNull
    private String callId;

    /**
     * 呼叫渠道，标识人工外呼、呼入或AI外呼等
     */
    @NotNull
    private String callChannel;

    /**
     * 坐席ID（客户经理工号）
     */
    @NotNull
    private String agentId;

    /**
     * 分机号（客户经理登录的分机号码）
     */
    @NotNull
    private String device;

    /**
     * 主叫号码
     */
    @NotNull
    private String calling;

    /**
     * 被叫号码
     */
    @NotNull
    private String called;

    /**
     * 是否接通（1=接通，0=未接通）
     */
    @NotNull
    private Integer isConnected;

    /**
     * 振铃时长（秒）
     */
    @NotNull
    private Integer ringSpan;

    /**
     * 通话时长（秒）
     */
    @NotNull
    private Integer connectSpan;

    /**
     * 挂断原因
     */
    private String hangupCause;

    /**
     * 呼叫创建时间（yyyy-MM-dd HH:mm:ss）
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @NotNull
    private Date callStartTime;

    /**
     * 呼叫结束时间（yyyy-MM-dd HH:mm:ss）
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @NotNull
    private Date callEndTime;

    /**
     * 录音文件URL
     */
    private String recordurl;
}
